package com.ruoyi.comparison.utils;

import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import lombok.extern.slf4j.Slf4j;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;

@Slf4j
public class WordUtil {
//public static void main(String[] args) {
//    try {
//        // 读取PDF文件
//        PDDocument document = PDDocument.load(new FileInputStream("D:\\dev\\RuoYi-Vue-Plus\\ruoyi-admin\\src\\main\\resources\\临沂市财金大数据有限公司.pdf"));
//
//        // 创建Word文档对象
//        XWPFDocument doc = new XWPFDocument();
//
//        // 获取PDF文本内容
//        PDFTextStripper stripper = new PDFTextStripper();
//        String text = stripper.getText(document);
//
//        // 将PDF文本内容写入Word文档
//        XWPFParagraph paragraph = doc.createParagraph();
//        XWPFRun run = paragraph.createRun();
//        run.setText(text);
//
//        // 保存Word文档
//        FileOutputStream out = new FileOutputStream("D:\\dev\\RuoYi-Vue-Plus\\ruoyi-admin\\src\\main\\resources\\docx\\临沂市财金大数据有限公司.docx");
//        doc.write(out);
//
//        // 关闭文档对象
//        doc.close();
//        document.close();
//
//        System.out.println("PDF转Word成功！");
//    } catch (Exception e) {
//        e.printStackTrace();
//    }
//}
    public static void main(String[] args) {

        //创建PdfDocument实例
        PdfDocument doc = new PdfDocument();

        //加载PDF文件
        doc.loadFromFile("D:\\dev\\RuoYi-Vue-Plus\\ruoyi-admin\\src\\main\\resources\\临沂市财金大数据有限公司.pdf");

        StringBuilder sb = new StringBuilder();

        PdfPageBase page;

        //遍历PDF页面，获取文本
        for (int i = 0; i < doc.getPages().getCount(); i++) {
            page = doc.getPages().get(i);
            sb.append(page.extractText());
        }
        String string = sb.toString();
        System.out.println(string);

        doc.close();
    }

    }
